package la.iok.hzsvn.lewin.movie.shopmovie.entity;

import la.iok.hzsvn.lewin.movie.core.model.CouponBase;

import java.util.Objects;

/**
 * 优惠卷定义。预定义的优惠卷，店铺可以根据这些定义的优惠卷快速发放优惠卷
 */
public class CouponDefinition extends CouponBase {
    private Long id;
    /**
     * 定义优惠卷的店铺。如果是系统预定义的优惠卷，那就是-1，这些优惠卷所有店铺都可以使用。如果是店铺自己定义的优惠卷，那只有店铺自己可以使用
     */
    private Long orgUnitId;
    /**
     * 优惠券适用的剧本类别.如果是-1，则不限制适用的剧本类别。
     */
    private Long movieLevelId;
    /**
     * 最大抵扣金额。当是折扣券的时候,根据使用的实际金额，以百分比进行抵扣，如果计算的抵扣金额大于最大抵扣金额,则只能以最大抵扣金额进行抵扣
     */
    private Integer maxAmount;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getOrgUnitId() {
        return orgUnitId;
    }

    public void setOrgUnitId(Long orgUnitId) {
        this.orgUnitId = orgUnitId;
    }

    public Long getMovieLevelId() {
        return movieLevelId;
    }

    public void setMovieLevelId(Long movieLevelId) {
        this.movieLevelId = movieLevelId;
    }

    public Integer getMaxAmount() {
        return maxAmount;
    }

    public void setMaxAmount(Integer maxAmount) {
        this.maxAmount = maxAmount;
    }

    /**
     * 是否系统定义的优惠券。如果系统定义优惠券,其他店铺都可以使用，店铺自己定义的优惠券只能店铺自己使用
     * @return 如果orgUnitId为-1则是系统定义的，返回true,否则返回false
     */
    public boolean systemDefined(){
        return Objects.equals(orgUnitId, -1L);
    }
}
